﻿using System;
using System.Collections.Generic;
using System.Text;

namespace RAD.LightOne
{
    #region Documentation
    /// <summary>
    /// Classe que implementa uma forma de consulta e filtragem de instâncias de classes
    /// que herdem de MyObject.
    /// </summary>
    #endregion Documentation
    public abstract class Oquery
    {
        #region Fields

        #region Documentation
        /// <summary>
        /// retorna : "SELECT id, class_name FROM {0}", base para consultas diversas no Light.
        /// </summary>
        #endregion
        protected const string BASE_SELECT = "SELECT id, class_name FROM {0}";

        #endregion Fields

        #region Contructors

        protected Oquery() { }
        #endregion Constructors

        #region Methods

        #region Documentation
        /// <summary>
        /// Quando implementado deve retornar um comando sql referente à Oquery representada pela instância.
        /// </summary>
        #endregion
        public abstract string ToSqlString();

        #endregion Methods
    }
}
